package cn.itcast.hotel.service;

import cn.itcast.hotel.pojo.Hotel;
import cn.itcast.hotel.pojo.PageResult;
import cn.itcast.hotel.pojo.RequestParams;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

public interface IHotelService extends IService<Hotel> {
    /**
     * 根据关键字搜索酒店信息
     * @param params 请求参数对象，包含用户输入的关键字
     * @return 酒店文档列表
     */
    PageResult search(RequestParams params);

    /**
     * key是字符串，城市、星级、品牌、价格
     * value是集合，例如多个城市的名称
     * @param params
     * @return
     */
    Map<String,List<String>> getFilters(RequestParams params);

    /**
     * 根据输入的拼音前缀：自动补全进行搜索
     * @param prefix
     * @return
     */
    List<String> getSuggestions(String prefix);

    /**
     * 根据id新增或修改：
     * @param id
     */
    void insertOrUpdateById(Long id);

    /**
     * 根据id删除：
     * @param id
     */
    void deleteById(Long id);
}
